Cookies妙用与获取
Cookies和Session的基本概念这里就不再赘述
利用Cookies直接登录网站¶
不少网站是需要登录,除了可以通过post的方式提交表单登录,比较简单的是可以找到网页的Cookies,放在head里直接登录,例如:
import requests # 带cookies的请求头 headers_cookies = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36', 'Cookie': 'cookies' } requests.get('xxx.com',headers=headers_cookies)
获取Cookies的通用模板¶
也可以通过session直接拿到Cookies,这里给出通用模板函数get_COOKIE()
,例如这个函数就可以轻松拿到网页的Cookies
# 得到网页的Cookies的通用函数 def get_COOKIE(): # 保持住 session = requests.session() # 加请求头,前面有说过加请求头是为了模拟浏览器正常的访问,避免被反爬虫。 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400', } # 能够拿到COOKIE的网址 res = session.get('xxxx.com',headers=headers) # 解码 cookies = requests.utils.dict_from_cookiejar(session.cookies) cookies = res.cookies.get_dict() COOKIE = '' for key, val in cookies.items(): COOKIE += (key + '=' + val + '; ') return COOKIE